/**
 * 平板脑波数据模型
 * 
 * 用途：封装发送到后端的完整脑波数据，包含设备信息、原始数据和处理后的数据
 * 方法：使用数据类封装所有必要字段，支持JSON序列化，字段名使用下划线命名匹配服务端格式
 * 原理：作为客户端与服务端之间的数据传输协议
 */
package com.example.brain_wave.bluetooth.model

import com.google.gson.annotations.SerializedName

data class TabletBrainWaveData(
    @SerializedName("session_id")
    val session_id: String,
    
    @SerializedName("room_id")
    val room_id: String,
    
    @SerializedName("timestamp")
    val timestamp: Long,
    
    // 原始脑波值数组，提取整数值
    @SerializedName("raw_value")
    val raw_value: List<Int>,
    
    // 8个频段功率数据
    @SerializedName("delta")
    val delta: Int,
    
    @SerializedName("theta")
    val theta: Int,
    
    @SerializedName("low_alpha")
    val low_alpha: Int,
    
    @SerializedName("high_alpha")
    val high_alpha: Int,
    
    @SerializedName("low_beta")
    val low_beta: Int,
    
    @SerializedName("high_beta")
    val high_beta: Int,
    
    @SerializedName("low_gamma")
    val low_gamma: Int,
    
    @SerializedName("mid_gamma")
    val mid_gamma: Int,
    
    // NeuroSky算法输出（确保在0-100范围内）
    @SerializedName("attention")
    val attention: Int,
    
    @SerializedName("meditation")
    val meditation: Int,
    
    // 信号质量指标
    @SerializedName("poor_signal")
    val poor_signal: Int,
    
    @SerializedName("blink_strength")
    val blink_strength: Int
)